fix: cap requires-python <3.14 so uv can't pick a Python that fails to build litellm/pyo3#47
Closed
shehabyasser-scale wants to merge 1 commit into
Closed
fix: cap requires-python <3.14 so uv can't pick a Python that fails to build litellm/pyo3#47shehabyasser-scale wants to merge 1 commit into
shehabyasser-scale wants to merge 1 commit into
Conversation
…o build litellm/pyo3 scale-vero's requires-python of ">=3.11" lets uv select the newest installed interpreter (e.g. 3.14). The transitive dep litellm==1.92.0 (via scale-vero[optimize] -> openai-agents[litellm]) has a PyO3/Rust core that fails to build on 3.14: error: the configured Python interpreter version (3.14) is newer than PyO3's maximum supported version (3.13) Capping the upper bound to <3.14 keeps uv on a supported interpreter so `uv run vero ...` works out of the box. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This was referenced Jul 24, 2026
Collaborator
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug
scale-vero's packagepyproject.toml(in the repo'svero/subdir) declaresrequires-python = ">=3.11", which is too permissive.uv runpicks the newest installed interpreter (e.g. Python 3.14). The transitive dependencylitellm==1.92.0(pulled viascale-vero[optimize]→openai-agents[litellm]) has a Rust/PyO3 core that fails to build on Python 3.14.Exact PyO3 error
Repro
On a machine whose default
uv-managed Python is 3.14:git clone git@github.com:scaleapi/vero.git cd vero/vero uv run vero harbor run ...uvresolves to Python 3.14 (satisfies>=3.11), then thelitellmbuild fails with the PyO3 error above. Pinning to 3.12 locally fixes it, confirming the interpreter version is the cause.Fix
Cap the upper bound so
uvcannot select an interpreter that breaks thelitellm/PyO3 build:The repo has no
.github/workflowsCI matrix to reconcile against; the cap simply matches PyO3's max supported version (3.13). Change is limited tovero/pyproject.toml; nothing else is touched.🤖 Generated with Claude Code
Greptile Summary
This PR adds an upper-bound Python version cap (
<3.14) tovero/pyproject.tomlto preventuvfrom selecting Python 3.14, which breaks thelitellm/PyO3 transitive dependency that only supports up to Python 3.13.requires-pythoninvero/pyproject.tomlcorrects a too-permissive lower-bound-only constraint, preventinguvfrom resolving to Python 3.14 where theopenai-agents[litellm]extra would fail to build.litellmships a compatible release, this upper bound will need to be bumped accordingly.Confidence Score: 5/5
Safe to merge — a single targeted constraint tightening that prevents a known build failure with no functional regressions.
The change is a one-line requires-python cap that matches the documented upper bound of the PyO3 library driving the breakage. The fix is minimal, the root cause is well-understood, and no other files are touched. The only future maintenance item is bumping this cap once litellm/PyO3 ships Python 3.14 support.
No files require special attention.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[uv run / uv sync] --> B{Resolve Python interpreter} B -->|Before fix: >=3.11| C[uv picks newest installed\ne.g. Python 3.14] B -->|After fix: >=3.11,<3.14| D[uv picks Python 3.11–3.13] C --> E[Install openai-agents litellm extra] D --> F[Install openai-agents litellm extra] E --> G[Build litellm with PyO3] F --> H[Build litellm with PyO3] G --> I["❌ PyO3 error: Python 3.14 > max supported 3.13"] H --> J["✅ Build succeeds"]Reviews (1): Last reviewed commit: "fix: cap requires-python <3.14 so uv can..." | Re-trigger Greptile